package org.edu.modules.system.entity;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;
import org.jeecgframework.poi.excel.annotation.Excel;

/**
 * @Author lbh
 * @Date 2025/2/12 上午11:25
 * @Version 1.0
 */
@Data
@TableName("process_step")
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@ApiModel(value = "process_step对象", description = "流程步骤")
public class ProcessStep {
    /**
     * id
     */
    private Integer id;
    /**所属流程类型id*/
    @Excel(name = "所属流程类型id", width = 15)
    @ApiModelProperty(value = "所属流程类型id")
    private Integer processTypeId;
    /**步骤顺序*/
    @Excel(name = "步骤顺序", width = 15)
    @ApiModelProperty(value = "步骤顺序")
    private Integer stepOrder;
    /**步骤名称（例：导师审批/教务处审核）*/
    @Excel(name = "步骤名称", width = 15)
    @ApiModelProperty(value = "步骤名称（例：导师审批/教务处审核）")
    private String stepName;
    /**审批人类型 "role"/"user"/"dynamic"*/
    @Excel(name = "审批人类型", width = 15)
    @ApiModelProperty(value = "审批人类型")
    private String approverType;
    /**审批人值（角色ID/用户ID/动态规则）*/
    @Excel(name = "审批人值（角色ID/用户ID/动态规则）", width = 15)
    @ApiModelProperty(value = "审批人值（角色ID/用户ID/动态规则）")
    private String approverValue;
    /**是否必须审批(0.必须；1.非必须)*/
    @Excel(name = "是否必须审批(0.必须；1.非必须)", width = 15)
    @ApiModelProperty(value = "是否必须审批(0.必须；1.非必须)")
    private Integer isRequired;
    /**审批超时时间 0一天，1一周，2一月*/
    @Excel(name = "审批超时时间", width = 15)
    @ApiModelProperty(value = "审批超时时间")
    private Integer timeoutHours;
}
